The present invention relates generally to input devices for interfacing with computer systems, and more particularly to computer input devices that provide spatial information about a three-dimensional object to computer systems which provide a representation of the object.
Three-dimensional (3-D) digitization is the process of sensing a three-dimensional object and creating a three-dimensional representation of the object which can be manipulated as digital data by a computer system. Detailed and accurate three-dimensional models can be created and manipulated by computer systems for use by animators, engineers, scientists, designers, architects, and others who have a need for a realistic three-dimensional, manipulable model derived from a real, physical object.
Many types of devices are available which can digitize three dimensional objects. A common type of digitizing apparatus utilizes a probe device, such as a stylus or other pointer, to trace over surfaces a three-dimensional object and thereby provide the spatial coordinate data of the object to a host computer system. The host computer system can sample the probe device to receive discrete data points at different spatial coordinates. The points can be joined together and displayed as a "mesh representation", which is a wire-frame type model comprising a set of vertices with interconnecting lines or polygons (typically called a "data set"). A realistic 3-dimensional shaded model can be created by a computer system from the mesh representation of an object.
A common type of probe apparatus utilizes mechanical linkages and sensors to determine the position of the stylus or other probe that is tracing the three-dimensional object. The stylus is fixed to one end of a series of mechanical linkages, and the other end of the linkage chain is connected to a base fixed to a stationary surface. Sensors can be included in joints of the linkage chain to sense the relative orientation of linkages, and therefore the stylus, are located with respect to the base. The angle data read by the sensors can be converted into coordinate data by a microprocessor interface or by the host computer system.
Problems with prior art 3-D digitizing methods often occur because the user is too constrained when tracing an object that is to be digitized. Typically, the user is required to trace the object along particular surfaces of the object and in particular directions on the surfaces. This can often cause errors in the resulting mesh representation when a surface is traced in the wrong direction or points are not connected properly. In addition, a user often cannot view a resulting mesh representation until the entire object or a large portion of the object has been traced by the digitizing apparatus. This allows further errors to be introduced into the mesh representation and causes more time to be spent correcting mesh representations, since the user cannot immediately determine if a point has been entered inaccurately.
Other inaccuracies are introduced when using prior art methods and apparatuses for digitizing 3-D objects. For example, a user may wish to move or rotate an object that has been only partially digitized to gain access to hard-to-reach surfaces on the object. The object can be placed on a rotary table, for example, to assist in easily rotating the object. However, once the object is moved, the host computer system can no longer develop a mesh representation from the old position of the object. In the prior art digitizers, a user must first select three or more points on the object, move the object to the desired new position, and re-select the same three or more points on the object at the new position. The host computer can transform the coordinates, taking into account the new position of the object, and thus continue developing the mesh representation. However, such a procedure typically introduces error into the mesh representation, since it is difficult to accurately re-select the same points at the object's new position. In addition, it is time consuming to perform such a procedure and unduly interrupts the digitizing process.
In many prior art digitizing apparatuses, the user is further constrained by the joints of the linkage assembly. Since wires are routed through the joints to carry electrical signals from sensors located therein, the joints typically include stops which limit the motion of a joint to under 360 degrees to prevent twisting and stressing the wires. However, this limited movement can inconvenience the user when tracing an object, especially when a limit to a joint is reached in a particular direction and further movement of the stylus in that direction is required to trace the surface of the object.
Further problems exist with the prior art digitizing apparatuses. Since the digitizing apparatuses must accurately sense an object to provide valid coordinate data to the computer system, calibration of the sensors of the apparatuses is of paramount importance to compensate for variations in the mechanical structure of the linkages and joints. In the prior art, calibration is typically accomplished by placing the stylus or other probe device at known locations in space and to record position readings at those known locations. Deviations between the known locations and the measured position readings can be used as error parameters to fine tune calibration parameters. However, such a calibration method requires that known locations be defined and that the stylus be accurately fixed to those known locations. This can require expensive precision fixtures. In addition, this calibration method is a slow and careful one, and can be tedious.
In addition, other initialization procedures of the prior art can be awkward or time consuming. Digitizing apparatuses often use less expensive relative sensors which detect a change in the position of a linkage of the digitizing apparatus rather than reading an absolute angle for the position of the linkage. When using such relative sensors, a "zeroing" procedure is often accomplished each time the apparatus is powered up to provide reference starting angles for the relative sensors. For example, in the prior art, zeroing can be accomplished by moving each individual joint to a stop of the joint and starting angles are "zeroed" at those points. However, in digitizing apparatuses having four, five or six degrees of freedom, this procedure can be very time consuming to move each individual joint each time the apparatus is powered up. Other digitizing apparatuses use a "home position" to provide starting angles. The stylus is placed into a receptacle on the base of the apparatus such that the reference starting angles for all the sensors is known when the apparatus is powered up. However, having the receptacle for a home position on the base of the apparatus typically requires a larger base that covers a larger surface area on a support surface such as a tabletop, which can be inconvenient. In addition, the more degrees of freedom on a digitizing apparatus, the more joints that need to be zeroed between the base and the probe. The greater the number joints to be zeroed, the greater the chance for error to be introduced in the zeroing process.